package com.situ.mall.observer;

import java.util.ArrayList;
import java.util.List;

//目标对象
public class Subject {
    //保存注册的观察者的集合
    private List<Observer> observers = new ArrayList<>();

    //注册观察者对象
    public void attach(Observer observer) {
        observers.add(observer);
    }

    //删除观察者对象
    public void detach(Observer observer) {
        observers.remove(observer);
    }

    //通知所有的注册的观察者对象
    protected void notifyObservers() {
        for (Observer observer : observers) {
            observer.update(this);
        }
    }
}

